package com.android.uu.view.HorizontalSlideListView;

import android.app.Activity;
import android.content.Context;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.HorizontalScrollView;
import android.widget.LinearLayout;

/**
 * 每个item必须是HorizontalScrollView里面
 * @author GuiyouZhang
 * Date：2015年12月4日 上午11:02:03
 * Email:guiyouzhang@163.com
 */
public class UUHorizontalSlideAdapter extends BaseAdapter {

	/** 记录滑动出删除按钮的itemView */
	public HorizontalScrollView mScrollView;
	/** 布局参数,动态让HorizontalScrollView中的TextView宽度包裹父容器 */
	private LinearLayout.LayoutParams mParams;
	private int mScreenWidth;/** 屏幕宽度 */
	/** touch事件锁定,如果已经有滑动出删除按钮的itemView,就屏蔽下一整次(down,move,up)的onTouch操作 */
	//主要是屏幕同时按下，同时滑出两个item的情况
	public boolean mLockOnTouch = false;

	public UUHorizontalSlideAdapter(Context context) {
		super();
		// 搞到屏幕宽度
		Display defaultDisplay = ((Activity) context).getWindowManager()
				.getDefaultDisplay();
		DisplayMetrics metrics = new DisplayMetrics();
		defaultDisplay.getMetrics(metrics);
		mScreenWidth = metrics.widthPixels;
		mParams = new LinearLayout.LayoutParams(mScreenWidth, LinearLayout.LayoutParams.MATCH_PARENT);
	}
	
	/**初始化控件
	 * @param scrollview 每个item的水平滑动scrollview
	 * @param front 在没有滑动时，默认填满手机屏幕的view
	 */
	public void initViews(UUHorizontalScrollView scrollview, View front) {
		scrollview.setAdapter(this);
		scrollview.setHorizontalFadingEdgeEnabled(false);//设置滑动的阴影不显示
		scrollview.setOverScrollMode(View.OVER_SCROLL_NEVER);
		front.setLayoutParams(mParams);//设置前面的view填满手机屏幕
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		return null;
	}

	/** HorizontalScrollView左右滑动 */
	public void scrollView(final HorizontalScrollView view, final int parameter) {
		//通过设置水平轴的焦点在最左or最右来
		view.post(new Runnable() {
			@Override
			public void run() {
				view.pageScroll(parameter);
			}
		});
	}

	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public Object getItem(int position) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public long getItemId(int position) {
		// TODO Auto-generated method stub
		return 0;
	}
}
